summaryrefslogtreecommitdiff
path: root/examples/cms-prismic/src/pages/blogs/[...page].astro
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cms-prismic/src/pages/blogs/[...page].astro')
-rw-r--r--examples/cms-prismic/src/pages/blogs/[...page].astro30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/cms-prismic/src/pages/blogs/[...page].astro b/examples/cms-prismic/src/pages/blogs/[...page].astro
new file mode 100644
index 000000000..daec806f6
--- /dev/null
+++ b/examples/cms-prismic/src/pages/blogs/[...page].astro
@@ -0,0 +1,30 @@
+---
+import BaseLayout from '@/layouts/BaseLayout.astro'
+import BlogCard from '@/components/BlogCard.astro'
+import Pagination from '@/components/Pagination.astro'
+import { initApi, Predicates } from '@/api/prismic.js'
+
+export async function getStaticPaths({paginate, rss}) {
+ const api = await initApi()
+ const document = await api.query(
+ Predicates.at('document.type', 'blog_post'),
+ { orderings : '[document.last_publication_date]' }
+ )
+ const { results } = document
+ return paginate(results, { pageSize: 4 })
+}
+
+const { page } = Astro.props
+---
+<BaseLayout>
+ <div class="row">
+ {
+ page.data.map(blog => (
+ <div class="col-6 col-6-medium col-12-small">
+ <BlogCard data={blog} />
+ </div>
+ ))
+ }
+ </div>
+ { page.lastPage > 1 && <Pagination prevUrl={page.url.prev} nextUrl={page.url.next} /> }
+</BaseLayout> \ No newline at end of file